package com.ftg.learnmybatis.learnio;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * 学习流
 *  file io
 *  poi(office) jxl (三方) easyExecl
 *  i : input  输入 (将外部文件 读取到java内存的过程)
 *     把文件(File  dataSources)的内容(流) java
 *  o : output 输出 (将java内存里面的信息 - 写到文件的过程)
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/3/13 上午8:11
 */
public class Example01 {

    //break   ; 最近的for结束关键
    //continue; 本次的结束关键
    //return  ; 方法结束关键字 return 方法结束
//
//    public int sum(int n) {
//        // 递归出口，结束条件
//        if (n <= 1) {
//            return 1;
//        }
//        //
//        return sum(n - 1) + n;
//        //10
//        //return sum(9)+10;
//        //9
//        //return sum(8)+9 + 10;
//        //8
//        //return sum(7) + 8 + 9 + 10;
//        //1
////        return 1+ 2 +3 。。。10;
//    }
//
//    sum(10);

    public static void printFileName(File file){
       if(!file.exists()){
           throw new RuntimeException("请您正确传递参数");
       }

       if(file.isFile()){
           System.out.println(file.getName());
       }else{
            //文件夹如何处理
//           String[] list = file.list();
           File[] files = file.listFiles();
           if(files != null && files.length > 0){
               for (File file1 : files) {
                   printFileName(file1);
               }
           }
       }
    }


    public static void main(String[] args) {
        File file = new File("/home/kangjx/userpanel");

        printFileName(file);
//        String filePath = "c://a.txt";
        String filePath = "c://a.txt";

        // File 物理抽象 文件文件夹
//        File file = new File("/home/kangjx/Desktop/abc/def/z/abc.txt");

//        file.isFile();
//        file.isDirectory();
//        file.isHidden();
//        System.out.println(file.isAbsolute());

//        file.canRead();
//        file.canWrite();
//        file.exists();

        //1 创建文件夹以及文件
        //2 home/kangjx/userpanel 里面所有文件名称打印出来 (递归)


//        file.mkdir();
//        file.mkdirs();
//
//        //创建文件
//        try {
//            file.createNewFile();
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }
    }

}
